From 25c6a4b616e5c6f1b30dc0609340af0054772a8d Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Fri, 4 Dec 2009 06:59:33 +0000 Subject: [PATCH] x86: XENMEM_add_to_physmap should propagate errors from guest_physmap_add_page(). Authored-by: David Lively Signed-off-by: Konrad Rzeszutek Wilk --- xen/arch/x86/mm.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index 7e6001c466..e7645fa0c7 100644 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -4005,6 +4005,7 @@ long arch_memory_op(int op, XEN_GUEST_HANDLE(void) arg) struct xen_add_to_physmap xatp; unsigned long prev_mfn, mfn = 0, gpfn; struct domain *d; + int rc; if ( copy_from_guest(&xatp, arg, 1) ) return -EFAULT; @@ -4089,7 +4090,7 @@ long arch_memory_op(int op, XEN_GUEST_HANDLE(void) arg) guest_physmap_remove_page(d, gpfn, mfn, 0); /* Map at new location. */ - guest_physmap_add_page(d, xatp.gpfn, mfn, 0); + rc = guest_physmap_add_page(d, xatp.gpfn, mfn, 0); domain_unlock(d); @@ -4098,7 +4099,7 @@ long arch_memory_op(int op, XEN_GUEST_HANDLE(void) arg) rcu_unlock_domain(d); - break; + return rc; } case XENMEM_set_memory_map: -- 2.30.2